热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

业界|成为CTO之前,我希望有人告诉我这些

如何成为一位合格的CTO,在成为CTO之前又需要哪些职业素养,即将离职的SketchDeckCTO讲述他在过去四年担任此职位的经验。这是一段刺激又美妙的

如何成为一位合格的CTO,在成为CTO之前又需要哪些职业素养,即将离职的 SketchDeck CTO讲述他在过去四年担任此职位的经验。

这是一段刺激又美妙的体验,在创业公司工作与传统的任职大不相同:一开始,你完全不知道公司是否会成功,也不知道它会不会变成一份全职工作,之后,随着公司的发展,你体验着新的各不相同的职位。总的来说,你会经常做着你曾经从未做过的工作。在你还未充分利用手中的权力之前,新的责任已经来到了你的面前。

0a98077aa080db4f460b6766c3d6dc85d1490d62

创业公司像大海中小船,能够灵活处理突发事件,但是你在第一天做出的决定会随着时间的推移不断往外产生涟漪。我现在知道的是,你选择的基础建设、框架结构和语言都将在未来的很长一段时间里伴你左右。

随着公司的成长,构建更多功能和子系统的重压会不断增大,每一个都将进一步锁住你的选择。伴随你获得更多动力的,是压力的持续增加,这时你再想停下来重新修改这些已经不可能了。

我对我们的选择非常满意:Amazon Web Services, Elastic Beanstalk, Firebase, AngularJS, Coffeescript, Kafka, Simple Queue System, SocketStream, Docker, SemaphoreCI, MySQL。列表中,仅有 AngularJS和MySQL在规模方面存在问题。我们的整个AngularJS代码包太大了,下载需要相当长的一段时间,应用程序也有点太慢了。随着BI查询复杂性的增加,(RDS中的)MySQL会崩溃并重新启动,这个问题很难解决。

众所周知,一项技术的生命周期惊人的短。CoffeeScript和AngularJS是已经过时的组件(我们计划迁移至TypeScript和最新的Angular)。当我们采用这些技术的时候,他们都相当的先进,真是庆幸,我对前沿科技的偏爱并没有引起任何严重的问题。我极其欣赏CoffeeScript ,因为其简洁的功能性语法,这些年里它极大地帮我大大提高了生产效率。

52493771ad9579981f830273602ee2a4b10d6283

基于以上,你得明白你需要准确计算预算时间,并为技术的更替制定策略。你在采用任何技术时都得接受长期的“技术债务”。

同样,你编写的组件和库将长期存在,不管你写得好不好,他们的状态一直都会这样——所以,为将来的维护人员着想,你最好多花一点时间在上面。

我们试图在我们所处理的代码领域进行小幅改进。有时,考虑到代码库的(总是不完美)的总体状态,可能会有压力,此时,我就会进行不断的小改进。

最后,是关于测试的简短说明:我发现让我们的团队编写测试代码真的很困难。我为我们系统中的很多部分都编写了测试用例,并配置好了测试服务器,在每次有代码提交的时候会自动运行。尽管如此,我很少看到其他人添加测试。我总是希望团队里能够重视测试,但是不尽如人意。以下是我解决这个问题的想法:

  • 开设有关如何编写测试的复习课程;

  • 要求重要功能包括至少一个测试;

  • 优化我们的测试服务器,使之在10秒钟内完成而不是10分钟(哎!),让程序员及时看到测试结果。

除了纯粹的技术决策之外,一名CTO还应兼顾人员管理。每天的大部分工作将是管理,领导,招聘和解雇人员。我不得不将学习这些贯穿始终。当然随着实践的进行,对这些流程会越来越熟练。

虽然员工是公司最宝贵的资产,但招聘员工的过程同样让人精疲力尽。相比收获了新入职的人,你可能需要花更多的时间来考虑雇用和拒绝更多的人。你可能需要更严格地过滤。我从未想到完美的创业团队成员是多么难得,也没想到会花如此多的时间和精力来寻找他们。

c1588872ff04adcc782f3dd5f07fb947dac7a14b

明确何时招人也是一个棘手的问题:是现在还是之后为这个职位招人?应该先为哪些职位招人?这些问题在你得到投资之后会尤其突出,因为你觉得你有义务让这些资金发挥最大价值。幸运的是,我们从Michael Siebel和YC那儿收获了一些具有帮助性的建议:

  • 当你感觉某个职位需求非常迫切的时候才开始招聘(比如快赶不上合同进度了的时候):

  • 招人是为了满足业务发展的需要,不能本末倒置(这条主要适用于还没有形成规模化的早期公司);

  • 不要招人来做一些你都还没想明白的事情(一些优秀的候选人也许能给公司带来新的动力,但通常的做法还是靠“有魔力”的创始人配置公司资源来适应新的发展)。

综上所述,如果你不确定是否需要为某个岗位招聘员工,可能做这个决定为时过早。我们也曾试图雇人来给公司实现我们自己也没有计划好的增长方案,但大部分时候都失败了。

员工管理一直相对比较顺利 —— 定期开诚布公的检查,明确什么是该做的,什么是不该做的,这些措施让我和我的员工保持着良好的关系。

管理人员一直相对比较顺利——与员工定期的、开诚布公的交流,这让我和同事们保持良好的关系。

8be77a92b673bd3e1391f34f97353a98aafc5cc9

我发现解雇员工是工作中很棘手的问题。你能从其他地方找到很多有用的建议,我在这儿简单地重申一下,早在你理性地决定和正式解雇一个人之前,你的直觉就已经做出判断了,但是解聘员工的这个过程非常痛苦。

良好的定期交流有助于双方接受最坏的结果。最后,基于一份个人发展计划,有一部分人真的能够应付自如,成为高效的团队成员;每个人都应该有这样的机会去展示自己。

伴随公司发展的一大乐趣就是看到一些优秀的人才在各自的领域能够独挡一面。在此,我要向我的整个团队致以诚挚的敬意和祝贺。


原文发布时间为:2018-03-21

本文作者:文摘菌

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”微信公众号



推荐阅读
  • 使用Python模拟登录教务系统抓取成绩并分析存储
    本文详细介绍如何使用Python编程语言模拟登录学校教务系统,抓取学生的成绩信息,并进行数据分析和可视化处理,最终将数据存储到MySQL数据库中。 ... [详细]
  • 本文探讨了在JavaScript中如何有效地从服务器控件DropDownList中获取绑定的ID值,而非仅仅是显示的文本值。这对于需要根据用户选择动态处理数据的应用场景非常有用。 ... [详细]
  • 深入解析线程池的工作原理与实际应用
    本文详细探讨了线程池的核心概念、工作原理及其在实际开发中的应用,包括不同类型的线程池创建方式及其适用场景。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • Python安全实践:Web安全与SQL注入防御
    本文旨在介绍Web安全的基础知识,特别是如何使用Python和相关工具来识别和防止SQL注入攻击。通过实际案例分析,帮助读者理解SQL注入的危害,并掌握有效的防御策略。 ... [详细]
  • 这个报错出现在userDao里面,sessionfactory没有注入。解决办法:spring整合Hibernate使用test测试时要把spring.xml和spring-hib ... [详细]
  • J2EE平台集成了多种服务、API和协议,旨在支持基于Web的多层应用开发。本文将详细介绍J2EE平台中的13项关键技术规范,涵盖从数据库连接到事务处理等多个方面。 ... [详细]
  • 本文详细探讨了在Python开发中遇到的ImportError: 无法找到名为Crypto.Cipher的模块的问题,并提供了多种解决方案,包括环境配置、库安装和代码调整等方法。 ... [详细]
  • 本文介绍如何在Windows 7操作系统中配置支持HTML5多点触控功能的设备,同时探讨了HTML5在开发Windows桌面应用程序中的可能性。 ... [详细]
  • 电子与正电子的相互作用
    本文探讨了电子与正电子之间的基本物理特性及其在现代物理学中的应用,包括它们的产生、湮灭过程以及在粒子加速器和宇宙射线中的表现。 ... [详细]
  • 匠心|传统_2021年度总结 | 葡萄城软件开发技术回顾(上)
    匠心|传统_2021年度总结 | 葡萄城软件开发技术回顾(上) ... [详细]
  • PHP 5.4.8 编译安装指南
    本文详细介绍了如何在Linux环境下编译安装PHP 5.4.8,并配置为FastCGI模式运行。包括所需依赖包的安装、源代码下载、编译配置及启动服务等步骤。 ... [详细]
  • 本文介绍了在Linux系统中如何使用不同的命令和工具来查看和检查端口状态,包括有权限和无权限情况下的操作方法。 ... [详细]
  • Web网络基础
    目录儿1使用HTTP协议访问Web2HTTP的诞生2.1因特网的起源2.2互联网、因特网与万维网2.3万维网与HTTP3网络基础TCPIP3.1TCPIP协议族3.2TCPIP的分 ... [详细]
  • 本文探讨了在当前开发环境中使用Django 1.5和Python 3.3的情况下,如何解决AWS和GAE仅支持Python 2.7的问题,并提供了相应的解决方案。 ... [详细]
author-avatar
mobiledu2502900255
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有